#include <bits/stdc++.h>

using namespace std;

int k,x;

// 解题思路
// 1.如果k==x，那么说明x在集合当中，直接返回true
// 2.如果k大于100000，那么说明x不在集合当中，k的值超过x了，直接返回false
// 3.否则，则计算f(2*k+1,x) || f(3*k+1,x) ，如果其中一个满足条件，则返回true


bool f(int k ,int x) {
    if (k == x) return true;
    if (k > 100000) return false;
    return
        f(2*k+1,x) ||
            f(3*k+1,x);
}

int main() {
    scanf("%d,%d",&k,&x);
    if(f(k,x)) {
        cout << "YES" << endl;
    }else {
        cout << "NO" << endl;
    }
}